//1365. 有多少小于当前数字的数字
//思路：使用计数数组hash[101]，先记下数字出现的次数
//小于它的数字个数就是hash[0~n-1]之和

#include <vector>
using namespace std;

class Solution {
public:
    vector<int> smallerNumbersThanCurrent(vector<int>& nums) {
        vector<int> hash(101, 0);
        for(auto e : nums)
        {
            hash[e]++;
        }
        for(int i = 1; i < 101; i++)
        {
            hash[i] += hash[i-1];
        }
        vector<int> ans;
        for(int i = 0; i < nums.size(); i++)
        {
            ans.push_back(hash[nums[i]] == 0 ? 0 : hash[nums[i]-1]);
        }
        return ans;
    }
};